CloudFlare
Using Cloudflare with your API – Cloudflare Support
Query Stringsに基づいてキャッシュルールを生成できるらしい
Query StringsがあるのはGETメソッド
https://yusukebe.com/posts/2022/hono-40-things/
Cloudflare Workers向けのWeb Application Framework
開発者:https://twitter.com/yusukebe
https://x.com/yusukebe/status/1832423819233091917
Cloudflare、Amazon S3互換のオブジェクトストレージ「Cloudflare R2」のオープンベータを開始。10GB以下ならずっと無料 - Publickey
S3互換object storage
やすい
Cloudflare R2もいいぞ! - ゆーすけべー日記
https://wintercg.org/
This community group aims to provide a space for JavaScript runtimes to collaborate on API interoperability.
We focus on documenting and improving interoperability of web platform APIs across runtimes (especially non-browser ones).
https://zenn.dev/voluntas/scraps/b78858185b1a3d
CloudFlare LB
CNAME Flattening allows a CNAME record to be created for the root domain without violating DNS specifications.
CloudflareはCNAME flattingをサポートしている
CloudFlareの静的サイトのホスティングサービス
Cloudflare Pages・Vercel ・Netlify の違いや使い分けをまとめる
Netlify、GitHub Pagesとの比較
サーバサイドで実行しないといけないものがあるか?
Bandwidth
hCaptcha - Stop more bots. Start getting paid.
CloudFlare版のreCAPTCHA
Googleは広告ネットワークの会社なのでbotは収益を悪化させる原因になる
Cloudflareはより中立的な開発をしているとほのめかしている
[https://dev.to/stanbright/cloudflare-replaced-recaptcha-with-hcaptcha-i-followed-their-example-it-took-me-18-min-1ipn Cloudflare replaced reCAPTCHA with hCaptcha. I followed their example. It took me
CloudFlareのtraffic高速化技術
最も早いくて堅牢なpathでトラフィックをルーティングする技術。使わない場合と比べて30%ぐらい早くなるらしい。
Performance through smart routing and tiered caching | Cloudflare
Error 525: SSL handshake failed – Cloudflare Support
TLSがつながらない問題
証明書は https://www.digicert.com/help/ で見る限り正常
Use the app URL (appname.herokuapp.com) as CNAME value instead of the domain generated by Heroku.
普通にHeroku内で購入する方法もあるが
無料プランのあるCloudFlareをDNS managerにする方法もある
Set up CloudFlare's free SSL on Heroku
Configure Cloudflare and Heroku over HTTPS – Cloudflare Support
IP Ranges | Cloudflare
#CDN #IP #CloudFlare
イベントの詳細
Streaming Conference #1 - connpass
動画アーカイブ
Streaming Conference #1 - 2018/02/26 19:30開始 - ニコニコ生放送
RTMP のはなし - RTMP 1.0 の仕様とコンセプト by 芝田 将 (AbemaTV) c-bata
Testing HTTP freshness in CDNs
CDN間で互換性がないキャッシュが行われる場合があるので、
CDNの違いを理解するためのテストを導入
CDNの相互運用性のケーススタディ
Freshness(RFC7234)はHTTP cachingのコアコンセプトの一つ
CDNのひとつ
Varnishを使っている
https://docs.fastly.com/guides/basic-setup/getting-started-with-fastly
キャッシュのパージが早いらしい(他のCDNは数秒だがFastlyは150ms<)
出典:Web+DB press vol.109 p.13
CDN前提の設計
アメブロ2019: こえのブログでのPWA
#Web開発
Node.jsのモジュール機構
ESMと違い、動的な同期require
が利用できる
September 29th 2016 Node.js, TC-39, and Modules – Hacker Noon
2017年7月18日 JavaScript モジュールの現状 | POSTD
Webサーバーアーキテクチャ進化論2023 | blog.ojisan.io
Node.js の章に入ると急に饒舌になると思うが、それ以前の章はあくまで教科書的な話しかできないだろう
下の記事を元に
...コードレベルにより踏み込んだ、かつ、green threadベースの新しいWebサーバアーキテクチャも含めて整理された記事...
package manager(npmやyarn)を管理するツール
Node.js v14.19.0から標準バンドル
https://nodejs.org/en/blog/release/v14.19.0/
https://zenn.dev/teppeis/articles/2021-05-corepack
ES2015にはモジュール(ES Modules, ESM)が実装される
これによって、モジュールでエクスポートした関数を他からインポートすることができるようになる
ブラウザの実装状況
https://caniuse.com/#feat=es6-module
modulesをロードする
Node.jsのmoduleの一つ
The child_process module provides the ability to spawn subprocesses in a manner that is similar, but not identical, to popen(3). This capability is primarily provided by the child_process.spawn() f
https://rollupjs.org/guide/en/
CommonJSやAMDではなくES6で導入されたmeduleを利用してコードを書くことができるようにしてくれるmodule bundler
最終的にブラウザネイティブで実装されれば不要になるっぽい?
小規模でシンプルなモジュールに保つ方がソフトウェア開発はやりやすい
これはそんな単純ではない
非同期処理:コールバック/Promise/Async Function · JavaScript Primer #jsprimer
JavaScriptを扱うブラウザやNode.jsなどのAPIには非同期処理のみのものも多いため、非同期処理を避けることはできません
使い所
クライアント側の同時接続数が数千(C10K)になろうと、そのほとんどの時間は keep-alive しているだけであり、HTTPリクエストを処理しているわけではありません。そう言った接続は(非同期に書かれた)nginxなどのフロントWebサーバーがハンドルしているので、アプリ側では大量並行処理が必要ない
Node.jsのORM
よさげらしい https://speakerdeck.com/mizchi/hurontoendoling-yu-wozai-ding-yi-suru?slide=19
Blitzが採用している
Why Go and not Rust? | Loris Cro's Personal Blog
HTTP系のプロトコルをよくサポートしていてWebサービス書きやすい
In my personal projects, Go proved to be a good alternative to Node.js, especially in situations where I wanted to pin down the interfaces between different components more explicitly than you wo
Express - Node.js web application framework
Node.jsのWeb application framework
5系でpromise APIが利用できるようになった
/keroxp/Expressのよさを語る2018
ディレクトリ構成
[https://github.com/nestjs/nest nestjs/nest: A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications on top of TypeScript & JavaScript (ES6, ES7
However, on the server-side, while there are a lot of superb libraries, helpers and tools for Node, none of them effectively solve the main problem - the architecture.
HerokuでRedisを使う方法についてまとめる
Heroku Redis | Heroku Dev Center
25 MB/20 connectionまで無料
Node.jsで使うことを想定
from React
Reactビギナー向けの記事を読んだときの記録
Getting Started with React – An Overview and Walkthrough – Tania Rascia
写経リポジトリ
https://github.com/kadoyau/tania-react-tutorial
node.jsのいろいろなモジュール26 – UglifyJSでjsファイルの最適化 | Developers.IO
mishoo/UglifyJS2: JavaScript parser / mangler / compressor / beautifier toolkit
a.k.a. スクレイピング
node.jsでやる場合
node.jsでHTMLスクレイピングをjQuery記法でやるライブラリみっつの比較 - たごもりすメモ(2012-10-16)
cheerio | Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
export
CommonJS と ES6の import/export で迷うなら - Qiita
CommonJSのexportとES2015のexportはモジュールシステムが異なるので違う
https://fortee.jp/phperkaigi-2024
WebAssembly
WebAssembly を理解する 〜VM の作成を通して〜 by nsfisis | トーク | PHPerKaigi 2024 #phperkaigi - fortee.jp
Webアプリケーションの視点で書いています
考慮されていないもの
ストレージの技術
ネットワーク
法規制
WebAssemblyをweb以外で使うためのインタフェース
2019/3 [https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/ Standardizing WASI: A system interface to run WebAssembly outside the web - Mozilla Hacks - the Web develop
https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/
WebAssemblyを作るためのツール
POSIXをエミュレートする。これによってプログラマはlibcを利用できる
2021-10-18 Rustの隆盛を感じる。なぜか?
WebAssemblyでよくつかわれている
2021年07月02日 WebAssemblyアプリ開発で最も使われている言語はRust C++、AssemblyScript、Blazor、Goが続く - ITmedia NEWS
ファミコンエミュレータの創り方 - Speaker Deck
Rust/WebAssemblyでファミコンのエミュレータを作った話
#emulator
WebAssemblyを利用することを前提に作られたオンラインのIDE
https://hacks.mozilla.org/2018/04/sneak-peek-at-webassembly-studio/
#開発環境